Intelligent agent computer programs, also referred to as intelligent agents, software agents or simply agents, have become very popular in recent years. Simply put, agents may be considered to be software-implemented personal assistants with authority delegated from their users. Each agent is a computer program that, in appropriate circumstances, simulates a human relationship by performing something for a person that another person might otherwise do.
These human-delegated software entities can perform a variety of tasks for their human masters. They have been successfully used in helping people with time-consuming activities such as automating repetitive tasks or filtering information. Other conventional uses of intelligent agents include network management, mobile access management, messaging, adaptive user interfaces, etc.
An increasingly important application for intelligent agents is electronic commerce, promising a revolution in the field. Simply put, this means having agents that buy and sell goods and services on behalf of users. By exploiting the potential of the Internet and developing new capabilities for intelligent agents, the way we conduct transactions, whether business-to-business, business-to-customer, or customer-to-customer can be dramatically transformed. An agent may be configured to seek out other parties such as human users, computer systems, or other agents, and may conduct negotiations on behalf of their owners, even entering into commercial transactions.
Intelligent agents operate with varying degrees of constraints depending upon the amount of autonomy that is delegated to them by the user. Agents display their intelligence differently; some by being creative, some by being crafty and elusive (worms and viruses), some by being helpful (personal assistants and surrogate bots), and still others by being resourceful in their own ways (for example, teaching agents). The “intelligence” is generally the amount of reasoning and decision making ability that an agent possesses. Agents can use different means to achieve intelligence; some adopt heuristics, some use constraints, some depend on knowledge databases, and yet others learn from experience. This intelligence can be simple (following a predefined set of rules), or complex (learning and adapting based upon a user's objectives and both the user and agent's resources).
Generally speaking, the level of intelligence or sophistication that an intelligent agent could ultimately demonstrate is limited more by user-agent trust than by any limitations of artificial intelligence technology. In order for these agents to be widely accepted, it is crucial that the agent's behavior be easily understood and controlled by the user.
One of the promising areas of application for intelligent agents is negotiation. Adding negotiation capability to an intelligent agent is a challenging task. Negotiation is a form of decision-making where two or more parties jointly search a space of possible solutions with the goal of reaching a consensus. There are two types of negotiation: competitive and cooperative.
Competitive negotiation can be described as the decision-making process of resolving a conflict involving two or more parties over a single mutually exclusive goal. This situation is described differently in the economics and game theory literature. Economics describes competitive negotiation as the effects of the market price of a limited resource given its supply and demand among self-interested parties. In game theory, the same situation is described as a zero-sum game where a shift in the value along a single dimension in either direction means that one side is better off and the other is worse off. Thus, the self-interest of a party in negotiation may be captured by a utility function. In the negotiation process, one party tries to maximize his or her utility, and the behavior of a party in any moment of negotiation is decided by an established strategy.
Cooperative negotiation can be described as the decision-making process of resolving a conflict involving two or more parties over multiple interdependent, but non-mutually exclusive goals. The game theory literature describes cooperative negotiations as a non-zero sum game where as values along multiple dimensions shift in different directions, it is possible for all parties to be better off.
Of the multitude of potential uses of intelligent agents with negotiation capabilities, electronic commerce is one of the most important. The traditional activity for buying and selling in its known forms, business-to-business, business-to-customer, or customer-to-customer, is time-consuming and often includes steps such as negotiating on price and other features. The effective use of software agents negotiating in electronic market places can dramatically reduce the transaction costs for all involved in electronic commerce. For example, dynamically negotiating a price instead of fixing it relieves the seller from needing to determine the value of the good a priori; negotiation pushes this burden into the marketplace itself. Another benefit of negotiation is that limited resources are allocated fairly—to those buyers who value them most.
When building an autonomous or semi-autonomous agent which is capable of flexible and sophisticated negotiation, in general the following need to be considered:
 1.What is the object of the negotiation, and over which features of theobject will negotiation takes place?2.What negotiation protocol will be used?3.What reasoning model will the agents employ?
In the case of agent-to-agent negotiation, the agents should use the same ontology and should agree on the issues over which negotiation takes place. They should use the same established language and should follow the same rules or legitimate actions when interacting each other, namely the same protocol.
Every agent must take into account the goals, the constraints on what it is authorized and not authorized to do, and the parameters influencing its behavior that have been established by the client for whom it negotiates. Depending on its degree of delegated autonomy and its strategy, the agent may adapt its behavior in negotiation to the changing conditions of the environment.
When established a partner for negotiation an agent should be able to determine what initial offers should be sent out, what is the range of acceptable agreements, what counter offers should be generated, when an agreement is reached and when negotiation should be abandoned. All these may be part of a reasoning model of an agent.
There are also some important aspects that should be taken into account when designing intelligent agents with negotiation capabilities, to enable them to operate reliably, efficiently and profitably on behalf of their clients. This is especially important in competitive negotiations.
Privacy of the information is one important requirement that should consider carefully. To operate reliably and profitably on behalf of their clients, agents should keep information related to their constraints or strategy used in negotiation hidden from the other parties. Otherwise the agent (and implicitly its client) is placed at a competitive disadvantage.
One desirable characteristic (especially in electronic commerce applications) for intelligent agents is that of efficiency. Agents should try to maximize the number of deals at the best conditions (price, utility value, etc.) for their clients. One related aspect is the time spent in negotiation. The time spent negotiating should be reasonable with respect to the value of the agreement—the agents should not become involved in unnecessarily complex and time-consuming negotiations.
The reasoning model followed by the agent should be powerful. However, at the same time it is very important that the agent's behavior can easily be understood and controlled by the user. Otherwise, a sophisticated agent can never be widely accepted. A general challenge facing agent design is that of making sure that the agent lives up to the user's expectation.